using Google.ProtocolBuffers;
using Google.ProtocolBuffers.Collections;
using micromsg.Proto;
using System;
using System.CodeDom.Compiler;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Runtime.CompilerServices;
namespace micromsg
{
	[GeneratedCode("ProtoGen", "2.3.0.277"), DebuggerNonUserCode, CompilerGenerated]
	public sealed class SnsPostRequest : GeneratedMessageLite<SnsPostRequest, SnsPostRequest.Builder>
	{
		[GeneratedCode("ProtoGen", "2.3.0.277"), DebuggerNonUserCode, CompilerGenerated]
		public sealed class Builder : GeneratedBuilderLite<SnsPostRequest, SnsPostRequest.Builder>
		{
			private bool resultIsReadOnly;
			private SnsPostRequest result;
			protected override SnsPostRequest.Builder ThisBuilder
			{
				get
				{
					return this;
				}
			}
			public override bool IsInitialized
			{
				get
				{
					return this.result.IsInitialized;
				}
			}
			protected override SnsPostRequest MessageBeingBuilt
			{
				get
				{
					return this.PrepareBuilder();
				}
			}
			public override SnsPostRequest DefaultInstanceForType
			{
				get
				{
					return SnsPostRequest.DefaultInstance;
				}
			}
			public BaseRequest BaseRequest
			{
				get
				{
					return this.result.BaseRequest;
				}
				set
				{
					this.SetBaseRequest(value);
				}
			}
			public SKBuiltinBuffer_t ObjectDesc
			{
				get
				{
					return this.result.ObjectDesc;
				}
				set
				{
					this.SetObjectDesc(value);
				}
			}
			public uint WithUserListNum
			{
				get
				{
					return this.result.WithUserListNum;
				}
				set
				{
					this.SetWithUserListNum(value);
				}
			}
			public IPopsicleList<SKBuiltinString_t> WithUserListList
			{
				get
				{
					return this.PrepareBuilder().withUserList_;
				}
			}
			public int WithUserListCount
			{
				get
				{
					return this.result.WithUserListCount;
				}
			}
			public uint Privacy
			{
				get
				{
					return this.result.Privacy;
				}
				set
				{
					this.SetPrivacy(value);
				}
			}
			public uint SyncFlag
			{
				get
				{
					return this.result.SyncFlag;
				}
				set
				{
					this.SetSyncFlag(value);
				}
			}
			public string ClientId
			{
				get
				{
					return this.result.ClientId;
				}
				set
				{
					this.SetClientId(value);
				}
			}
			public uint PostBGImgType
			{
				get
				{
					return this.result.PostBGImgType;
				}
				set
				{
					this.SetPostBGImgType(value);
				}
			}
			public uint GroupCount
			{
				get
				{
					return this.result.GroupCount;
				}
				set
				{
					this.SetGroupCount(value);
				}
			}
			public IPopsicleList<SnsGroup> GroupIdsList
			{
				get
				{
					return this.PrepareBuilder().groupIds_;
				}
			}
			public int GroupIdsCount
			{
				get
				{
					return this.result.GroupIdsCount;
				}
			}
			public uint ObjectSource
			{
				get
				{
					return this.result.ObjectSource;
				}
				set
				{
					this.SetObjectSource(value);
				}
			}
			public Builder()
			{
				this.result = SnsPostRequest.DefaultInstance;
				this.resultIsReadOnly = true;
			}
			internal Builder(SnsPostRequest cloneFrom)
			{
				this.result = cloneFrom;
				this.resultIsReadOnly = true;
			}
			private SnsPostRequest PrepareBuilder()
			{
				if (this.resultIsReadOnly)
				{
					SnsPostRequest other = this.result;
					this.result = new SnsPostRequest();
					this.resultIsReadOnly = false;
					this.MergeFrom(other);
				}
				return this.result;
			}
			public override SnsPostRequest.Builder Clear()
			{
				this.result = SnsPostRequest.DefaultInstance;
				this.resultIsReadOnly = true;
				return this;
			}
			public override SnsPostRequest.Builder Clone()
			{
				if (this.resultIsReadOnly)
				{
					return new SnsPostRequest.Builder(this.result);
				}
				return new SnsPostRequest.Builder().MergeFrom(this.result);
			}
			public override SnsPostRequest BuildPartial()
			{
				if (this.resultIsReadOnly)
				{
					return this.result;
				}
				this.resultIsReadOnly = true;
				return this.result.MakeReadOnly();
			}
			public override SnsPostRequest.Builder MergeFrom(IMessageLite other)
			{
				if (other is SnsPostRequest)
				{
					return this.MergeFrom((SnsPostRequest)other);
				}
				base.MergeFrom(other);
				return this;
			}
			public override SnsPostRequest.Builder MergeFrom(SnsPostRequest other)
			{
				return this;
			}
			public override SnsPostRequest.Builder MergeFrom(ICodedInputStream input)
			{
				return this.MergeFrom(input, ExtensionRegistry.Empty);
			}
			public override SnsPostRequest.Builder MergeFrom(ICodedInputStream input, ExtensionRegistry extensionRegistry)
			{
				this.PrepareBuilder();
				uint num;
				string text;
				while (input.ReadTag(out num, out text))
				{
					if (num == 0u && text != null)
					{
						int num2 = Array.BinarySearch<string>(SnsPostRequest._snsPostRequestFieldNames, text, StringComparer.get_Ordinal());
						if (num2 < 0)
						{
							this.ParseUnknownField(input, extensionRegistry, num, text);
							continue;
						}
						num = SnsPostRequest._snsPostRequestFieldTags[num2];
					}
					uint num3 = num;
					if (num3 <= 40u)
					{
						if (num3 <= 18u)
						{
							if (num3 == 0u)
							{
								throw InvalidProtocolBufferException.InvalidTag();
							}
							if (num3 == 10u)
							{
								BaseRequest.Builder builder = BaseRequest.CreateBuilder();
								if (this.result.hasBaseRequest)
								{
									builder.MergeFrom(this.BaseRequest);
								}
								input.ReadMessage(builder, extensionRegistry);
								this.BaseRequest = builder.BuildPartial();
								continue;
							}
							if (num3 == 18u)
							{
								SKBuiltinBuffer_t.Builder builder2 = SKBuiltinBuffer_t.CreateBuilder();
								if (this.result.hasObjectDesc)
								{
									builder2.MergeFrom(this.ObjectDesc);
								}
								input.ReadMessage(builder2, extensionRegistry);
								this.ObjectDesc = builder2.BuildPartial();
								continue;
							}
						}
						else
						{
							if (num3 == 24u)
							{
								this.result.hasWithUserListNum = input.ReadUInt32(ref this.result.withUserListNum_);
								continue;
							}
							if (num3 == 34u)
							{
								input.ReadMessageArray<SKBuiltinString_t>(num, text, this.result.withUserList_, SKBuiltinString_t.DefaultInstance, extensionRegistry);
								continue;
							}
							if (num3 == 40u)
							{
								this.result.hasPrivacy = input.ReadUInt32(ref this.result.privacy_);
								continue;
							}
						}
					}
					else
					{
						if (num3 <= 64u)
						{
							if (num3 == 48u)
							{
								this.result.hasSyncFlag = input.ReadUInt32(ref this.result.syncFlag_);
								continue;
							}
							if (num3 == 58u)
							{
								this.result.hasClientId = input.ReadString(ref this.result.clientId_);
								continue;
							}
							if (num3 == 64u)
							{
								this.result.hasPostBGImgType = input.ReadUInt32(ref this.result.postBGImgType_);
								continue;
							}
						}
						else
						{
							if (num3 == 72u)
							{
								this.result.hasGroupCount = input.ReadUInt32(ref this.result.groupCount_);
								continue;
							}
							if (num3 == 82u)
							{
								input.ReadMessageArray<SnsGroup>(num, text, this.result.groupIds_, SnsGroup.DefaultInstance, extensionRegistry);
								continue;
							}
							if (num3 == 88u)
							{
								this.result.hasObjectSource = input.ReadUInt32(ref this.result.objectSource_);
								continue;
							}
						}
					}
					if (WireFormat.IsEndGroupTag(num))
					{
						return this;
					}
					this.ParseUnknownField(input, extensionRegistry, num, text);
				}
				return this;
			}
			public SnsPostRequest.Builder SetBaseRequest(BaseRequest value)
			{
				ThrowHelper.ThrowIfNull(value, "value");
				this.PrepareBuilder();
				this.result.hasBaseRequest = true;
				this.result.baseRequest_ = value;
				return this;
			}
			public SnsPostRequest.Builder SetBaseRequest(BaseRequest.Builder builderForValue)
			{
				ThrowHelper.ThrowIfNull(builderForValue, "builderForValue");
				this.PrepareBuilder();
				this.result.hasBaseRequest = true;
				this.result.baseRequest_ = builderForValue.Build();
				return this;
			}
			public SnsPostRequest.Builder MergeBaseRequest(BaseRequest value)
			{
				ThrowHelper.ThrowIfNull(value, "value");
				this.PrepareBuilder();
				if (this.result.hasBaseRequest && this.result.baseRequest_ != BaseRequest.DefaultInstance)
				{
					this.result.baseRequest_ = BaseRequest.CreateBuilder(this.result.baseRequest_).MergeFrom(value).BuildPartial();
				}
				else
				{
					this.result.baseRequest_ = value;
				}
				this.result.hasBaseRequest = true;
				return this;
			}
			public SnsPostRequest.Builder ClearBaseRequest()
			{
				this.PrepareBuilder();
				this.result.hasBaseRequest = false;
				this.result.baseRequest_ = null;
				return this;
			}
			public SnsPostRequest.Builder SetObjectDesc(SKBuiltinBuffer_t value)
			{
				ThrowHelper.ThrowIfNull(value, "value");
				this.PrepareBuilder();
				this.result.hasObjectDesc = true;
				this.result.objectDesc_ = value;
				return this;
			}
			public SnsPostRequest.Builder SetObjectDesc(SKBuiltinBuffer_t.Builder builderForValue)
			{
				ThrowHelper.ThrowIfNull(builderForValue, "builderForValue");
				this.PrepareBuilder();
				this.result.hasObjectDesc = true;
				this.result.objectDesc_ = builderForValue.Build();
				return this;
			}
			public SnsPostRequest.Builder MergeObjectDesc(SKBuiltinBuffer_t value)
			{
				ThrowHelper.ThrowIfNull(value, "value");
				this.PrepareBuilder();
				if (this.result.hasObjectDesc && this.result.objectDesc_ != SKBuiltinBuffer_t.DefaultInstance)
				{
					this.result.objectDesc_ = SKBuiltinBuffer_t.CreateBuilder(this.result.objectDesc_).MergeFrom(value).BuildPartial();
				}
				else
				{
					this.result.objectDesc_ = value;
				}
				this.result.hasObjectDesc = true;
				return this;
			}
			public SnsPostRequest.Builder ClearObjectDesc()
			{
				this.PrepareBuilder();
				this.result.hasObjectDesc = false;
				this.result.objectDesc_ = null;
				return this;
			}
			public SnsPostRequest.Builder SetWithUserListNum(uint value)
			{
				this.PrepareBuilder();
				this.result.hasWithUserListNum = true;
				this.result.withUserListNum_ = value;
				return this;
			}
			public SnsPostRequest.Builder ClearWithUserListNum()
			{
				this.PrepareBuilder();
				this.result.hasWithUserListNum = false;
				this.result.withUserListNum_ = 0u;
				return this;
			}
			public SKBuiltinString_t GetWithUserList(int index)
			{
				return this.result.GetWithUserList(index);
			}
			public SnsPostRequest.Builder SetWithUserList(int index, SKBuiltinString_t value)
			{
				ThrowHelper.ThrowIfNull(value, "value");
				this.PrepareBuilder();
				this.result.withUserList_[index] = value;
				return this;
			}
			public SnsPostRequest.Builder SetWithUserList(int index, SKBuiltinString_t.Builder builderForValue)
			{
				ThrowHelper.ThrowIfNull(builderForValue, "builderForValue");
				this.PrepareBuilder();
				this.result.withUserList_[index] = builderForValue.Build();
				return this;
			}
			public SnsPostRequest.Builder AddWithUserList(SKBuiltinString_t value)
			{
				ThrowHelper.ThrowIfNull(value, "value");
				this.PrepareBuilder();
				this.result.withUserList_.Add(value);
				return this;
			}
			public SnsPostRequest.Builder AddWithUserList(SKBuiltinString_t.Builder builderForValue)
			{
				ThrowHelper.ThrowIfNull(builderForValue, "builderForValue");
				this.PrepareBuilder();
				this.result.withUserList_.Add(builderForValue.Build());
				return this;
			}
			public SnsPostRequest.Builder AddRangeWithUserList(IEnumerable<SKBuiltinString_t> values)
			{
				this.PrepareBuilder();
				this.result.withUserList_.Add(values);
				return this;
			}
			public SnsPostRequest.Builder ClearWithUserList()
			{
				this.PrepareBuilder();
				this.result.withUserList_.Clear();
				return this;
			}
			public SnsPostRequest.Builder SetPrivacy(uint value)
			{
				this.PrepareBuilder();
				this.result.hasPrivacy = true;
				this.result.privacy_ = value;
				return this;
			}
			public SnsPostRequest.Builder ClearPrivacy()
			{
				this.PrepareBuilder();
				this.result.hasPrivacy = false;
				this.result.privacy_ = 0u;
				return this;
			}
			public SnsPostRequest.Builder SetSyncFlag(uint value)
			{
				this.PrepareBuilder();
				this.result.hasSyncFlag = true;
				this.result.syncFlag_ = value;
				return this;
			}
			public SnsPostRequest.Builder ClearSyncFlag()
			{
				this.PrepareBuilder();
				this.result.hasSyncFlag = false;
				this.result.syncFlag_ = 0u;
				return this;
			}
			public SnsPostRequest.Builder SetClientId(string value)
			{
				ThrowHelper.ThrowIfNull(value, "value");
				this.PrepareBuilder();
				this.result.hasClientId = true;
				this.result.clientId_ = value;
				return this;
			}
			public SnsPostRequest.Builder ClearClientId()
			{
				this.PrepareBuilder();
				this.result.hasClientId = false;
				this.result.clientId_ = "";
				return this;
			}
			public SnsPostRequest.Builder SetPostBGImgType(uint value)
			{
				this.PrepareBuilder();
				this.result.hasPostBGImgType = true;
				this.result.postBGImgType_ = value;
				return this;
			}
			public SnsPostRequest.Builder ClearPostBGImgType()
			{
				this.PrepareBuilder();
				this.result.hasPostBGImgType = false;
				this.result.postBGImgType_ = 0u;
				return this;
			}
			public SnsPostRequest.Builder SetGroupCount(uint value)
			{
				this.PrepareBuilder();
				this.result.hasGroupCount = true;
				this.result.groupCount_ = value;
				return this;
			}
			public SnsPostRequest.Builder ClearGroupCount()
			{
				this.PrepareBuilder();
				this.result.hasGroupCount = false;
				this.result.groupCount_ = 0u;
				return this;
			}
			public SnsGroup GetGroupIds(int index)
			{
				return this.result.GetGroupIds(index);
			}
			public SnsPostRequest.Builder SetGroupIds(int index, SnsGroup value)
			{
				ThrowHelper.ThrowIfNull(value, "value");
				this.PrepareBuilder();
				this.result.groupIds_[index] = value;
				return this;
			}
			public SnsPostRequest.Builder SetGroupIds(int index, SnsGroup.Builder builderForValue)
			{
				ThrowHelper.ThrowIfNull(builderForValue, "builderForValue");
				this.PrepareBuilder();
				this.result.groupIds_[index] = builderForValue.Build();
				return this;
			}
			public SnsPostRequest.Builder AddGroupIds(SnsGroup value)
			{
				ThrowHelper.ThrowIfNull(value, "value");
				this.PrepareBuilder();
				this.result.groupIds_.Add(value);
				return this;
			}
			public SnsPostRequest.Builder AddGroupIds(SnsGroup.Builder builderForValue)
			{
				ThrowHelper.ThrowIfNull(builderForValue, "builderForValue");
				this.PrepareBuilder();
				this.result.groupIds_.Add(builderForValue.Build());
				return this;
			}
			public SnsPostRequest.Builder AddRangeGroupIds(IEnumerable<SnsGroup> values)
			{
				this.PrepareBuilder();
				this.result.groupIds_.Add(values);
				return this;
			}
			public SnsPostRequest.Builder ClearGroupIds()
			{
				this.PrepareBuilder();
				this.result.groupIds_.Clear();
				return this;
			}
			public SnsPostRequest.Builder SetObjectSource(uint value)
			{
				this.PrepareBuilder();
				this.result.hasObjectSource = true;
				this.result.objectSource_ = value;
				return this;
			}
			public SnsPostRequest.Builder ClearObjectSource()
			{
				this.PrepareBuilder();
				this.result.hasObjectSource = false;
				this.result.objectSource_ = 0u;
				return this;
			}
		}
		public const int BaseRequestFieldNumber = 1;
		public const int ObjectDescFieldNumber = 2;
		public const int WithUserListNumFieldNumber = 3;
		public const int WithUserListFieldNumber = 4;
		public const int PrivacyFieldNumber = 5;
		public const int SyncFlagFieldNumber = 6;
		public const int ClientIdFieldNumber = 7;
		public const int PostBGImgTypeFieldNumber = 8;
		public const int GroupCountFieldNumber = 9;
		public const int GroupIdsFieldNumber = 10;
		public const int ObjectSourceFieldNumber = 11;
		private static readonly SnsPostRequest defaultInstance;
		private static readonly string[] _snsPostRequestFieldNames;
		private static readonly uint[] _snsPostRequestFieldTags;
		private bool hasBaseRequest;
		private BaseRequest baseRequest_;
		private bool hasObjectDesc;
		private SKBuiltinBuffer_t objectDesc_;
		private bool hasWithUserListNum;
		private uint withUserListNum_;
		private PopsicleList<SKBuiltinString_t> withUserList_ = new PopsicleList<SKBuiltinString_t>();
		private bool hasPrivacy;
		private uint privacy_;
		private bool hasSyncFlag;
		private uint syncFlag_;
		private bool hasClientId;
		private string clientId_ = "";
		private bool hasPostBGImgType;
		private uint postBGImgType_;
		private bool hasGroupCount;
		private uint groupCount_;
		private PopsicleList<SnsGroup> groupIds_ = new PopsicleList<SnsGroup>();
		private bool hasObjectSource;
		private uint objectSource_;
		private int memoizedSerializedSize = -1;
		public static SnsPostRequest DefaultInstance
		{
			get
			{
				return SnsPostRequest.defaultInstance;
			}
		}
		public override SnsPostRequest DefaultInstanceForType
		{
			get
			{
				return SnsPostRequest.DefaultInstance;
			}
		}
		protected override SnsPostRequest ThisMessage
		{
			get
			{
				return this;
			}
		}
		public BaseRequest BaseRequest
		{
			get
			{
				return this.baseRequest_ ?? BaseRequest.DefaultInstance;
			}
		}
		public SKBuiltinBuffer_t ObjectDesc
		{
			get
			{
				return this.objectDesc_ ?? SKBuiltinBuffer_t.DefaultInstance;
			}
		}
		public uint WithUserListNum
		{
			get
			{
				return this.withUserListNum_;
			}
		}
		public IList<SKBuiltinString_t> WithUserListList
		{
			get
			{
				return this.withUserList_;
			}
		}
		public int WithUserListCount
		{
			get
			{
				return this.withUserList_.Count;
			}
		}
		public uint Privacy
		{
			get
			{
				return this.privacy_;
			}
		}
		public uint SyncFlag
		{
			get
			{
				return this.syncFlag_;
			}
		}
		public string ClientId
		{
			get
			{
				return this.clientId_;
			}
		}
		public uint PostBGImgType
		{
			get
			{
				return this.postBGImgType_;
			}
		}
		public uint GroupCount
		{
			get
			{
				return this.groupCount_;
			}
		}
		public IList<SnsGroup> GroupIdsList
		{
			get
			{
				return this.groupIds_;
			}
		}
		public int GroupIdsCount
		{
			get
			{
				return this.groupIds_.Count;
			}
		}
		public uint ObjectSource
		{
			get
			{
				return this.objectSource_;
			}
		}
		public override bool IsInitialized
		{
			get
			{
				if (!this.hasBaseRequest)
				{
					return false;
				}
				if (!this.hasObjectDesc)
				{
					return false;
				}
				if (!this.BaseRequest.IsInitialized)
				{
					return false;
				}
				if (!this.ObjectDesc.IsInitialized)
				{
					return false;
				}
				using (IEnumerator<SnsGroup> enumerator = this.GroupIdsList.GetEnumerator())
				{
					while (enumerator.MoveNext())
					{
						SnsGroup current = enumerator.get_Current();
						if (!current.IsInitialized)
						{
							return false;
						}
					}
				}
				return true;
			}
		}
		public override int SerializedSize
		{
			get
			{
				int num = this.memoizedSerializedSize;
				if (num != -1)
				{
					return num;
				}
				num = 0;
				if (this.hasBaseRequest)
				{
					num += CodedOutputStream.ComputeMessageSize(1, this.BaseRequest);
				}
				if (this.hasObjectDesc)
				{
					num += CodedOutputStream.ComputeMessageSize(2, this.ObjectDesc);
				}
				if (this.hasWithUserListNum)
				{
					num += CodedOutputStream.ComputeUInt32Size(3, this.WithUserListNum);
				}
				using (IEnumerator<SKBuiltinString_t> enumerator = this.WithUserListList.GetEnumerator())
				{
					while (enumerator.MoveNext())
					{
						SKBuiltinString_t current = enumerator.get_Current();
						num += CodedOutputStream.ComputeMessageSize(4, current);
					}
				}
				if (this.hasPrivacy)
				{
					num += CodedOutputStream.ComputeUInt32Size(5, this.Privacy);
				}
				if (this.hasSyncFlag)
				{
					num += CodedOutputStream.ComputeUInt32Size(6, this.SyncFlag);
				}
				if (this.hasClientId)
				{
					num += CodedOutputStream.ComputeStringSize(7, this.ClientId);
				}
				if (this.hasPostBGImgType)
				{
					num += CodedOutputStream.ComputeUInt32Size(8, this.PostBGImgType);
				}
				if (this.hasGroupCount)
				{
					num += CodedOutputStream.ComputeUInt32Size(9, this.GroupCount);
				}
				using (IEnumerator<SnsGroup> enumerator2 = this.GroupIdsList.GetEnumerator())
				{
					while (enumerator2.MoveNext())
					{
						SnsGroup current2 = enumerator2.get_Current();
						num += CodedOutputStream.ComputeMessageSize(10, current2);
					}
				}
				if (this.hasObjectSource)
				{
					num += CodedOutputStream.ComputeUInt32Size(11, this.ObjectSource);
				}
				this.memoizedSerializedSize = num;
				return num;
			}
		}
		private SnsPostRequest()
		{
		}
		public SKBuiltinString_t GetWithUserList(int index)
		{
			return this.withUserList_[index];
		}
		public SnsGroup GetGroupIds(int index)
		{
			return this.groupIds_[index];
		}
		public override void WriteTo(ICodedOutputStream output)
		{
			int arg_06_0 = this.SerializedSize;
			string[] snsPostRequestFieldNames = SnsPostRequest._snsPostRequestFieldNames;
			if (this.hasBaseRequest)
			{
				output.WriteMessage(1, snsPostRequestFieldNames[0], this.BaseRequest);
			}
			if (this.hasObjectDesc)
			{
				output.WriteMessage(2, snsPostRequestFieldNames[4], this.ObjectDesc);
			}
			if (this.hasWithUserListNum)
			{
				output.WriteUInt32(3, snsPostRequestFieldNames[10], this.WithUserListNum);
			}
			if (this.withUserList_.Count > 0)
			{
				output.WriteMessageArray<SKBuiltinString_t>(4, snsPostRequestFieldNames[9], this.withUserList_);
			}
			if (this.hasPrivacy)
			{
				output.WriteUInt32(5, snsPostRequestFieldNames[7], this.Privacy);
			}
			if (this.hasSyncFlag)
			{
				output.WriteUInt32(6, snsPostRequestFieldNames[8], this.SyncFlag);
			}
			if (this.hasClientId)
			{
				output.WriteString(7, snsPostRequestFieldNames[1], this.ClientId);
			}
			if (this.hasPostBGImgType)
			{
				output.WriteUInt32(8, snsPostRequestFieldNames[6], this.PostBGImgType);
			}
			if (this.hasGroupCount)
			{
				output.WriteUInt32(9, snsPostRequestFieldNames[2], this.GroupCount);
			}
			if (this.groupIds_.Count > 0)
			{
				output.WriteMessageArray<SnsGroup>(10, snsPostRequestFieldNames[3], this.groupIds_);
			}
			if (this.hasObjectSource)
			{
				output.WriteUInt32(11, snsPostRequestFieldNames[5], this.ObjectSource);
			}
		}
		public override int GetHashCode()
		{
			int num = base.GetType().GetHashCode();
			if (this.hasBaseRequest)
			{
				num ^= this.baseRequest_.GetHashCode();
			}
			if (this.hasObjectDesc)
			{
				num ^= this.objectDesc_.GetHashCode();
			}
			if (this.hasWithUserListNum)
			{
				num ^= this.withUserListNum_.GetHashCode();
			}
			using (IEnumerator<SKBuiltinString_t> enumerator = this.withUserList_.GetEnumerator())
			{
				while (enumerator.MoveNext())
				{
					SKBuiltinString_t current = enumerator.get_Current();
					num ^= current.GetHashCode();
				}
			}
			if (this.hasPrivacy)
			{
				num ^= this.privacy_.GetHashCode();
			}
			if (this.hasSyncFlag)
			{
				num ^= this.syncFlag_.GetHashCode();
			}
			if (this.hasClientId)
			{
				num ^= this.clientId_.GetHashCode();
			}
			if (this.hasPostBGImgType)
			{
				num ^= this.postBGImgType_.GetHashCode();
			}
			if (this.hasGroupCount)
			{
				num ^= this.groupCount_.GetHashCode();
			}
			using (IEnumerator<SnsGroup> enumerator2 = this.groupIds_.GetEnumerator())
			{
				while (enumerator2.MoveNext())
				{
					SnsGroup current2 = enumerator2.get_Current();
					num ^= current2.GetHashCode();
				}
			}
			if (this.hasObjectSource)
			{
				num ^= this.objectSource_.GetHashCode();
			}
			return num;
		}
		public override bool Equals(object value)
		{
			SnsPostRequest snsPostRequest = value as SnsPostRequest;
			if (snsPostRequest == null)
			{
				return false;
			}
			if (this.hasBaseRequest != snsPostRequest.hasBaseRequest || (this.hasBaseRequest && !this.baseRequest_.Equals(snsPostRequest.baseRequest_)))
			{
				return false;
			}
			if (this.hasObjectDesc != snsPostRequest.hasObjectDesc || (this.hasObjectDesc && !this.objectDesc_.Equals(snsPostRequest.objectDesc_)))
			{
				return false;
			}
			if (this.hasWithUserListNum != snsPostRequest.hasWithUserListNum || (this.hasWithUserListNum && !this.withUserListNum_.Equals(snsPostRequest.withUserListNum_)))
			{
				return false;
			}
			if (this.withUserList_.Count != snsPostRequest.withUserList_.Count)
			{
				return false;
			}
			for (int i = 0; i < this.withUserList_.Count; i++)
			{
				if (!this.withUserList_[i].Equals(snsPostRequest.withUserList_[i]))
				{
					return false;
				}
			}
			if (this.hasPrivacy != snsPostRequest.hasPrivacy || (this.hasPrivacy && !this.privacy_.Equals(snsPostRequest.privacy_)))
			{
				return false;
			}
			if (this.hasSyncFlag != snsPostRequest.hasSyncFlag || (this.hasSyncFlag && !this.syncFlag_.Equals(snsPostRequest.syncFlag_)))
			{
				return false;
			}
			if (this.hasClientId != snsPostRequest.hasClientId || (this.hasClientId && !this.clientId_.Equals(snsPostRequest.clientId_)))
			{
				return false;
			}
			if (this.hasPostBGImgType != snsPostRequest.hasPostBGImgType || (this.hasPostBGImgType && !this.postBGImgType_.Equals(snsPostRequest.postBGImgType_)))
			{
				return false;
			}
			if (this.hasGroupCount != snsPostRequest.hasGroupCount || (this.hasGroupCount && !this.groupCount_.Equals(snsPostRequest.groupCount_)))
			{
				return false;
			}
			if (this.groupIds_.Count != snsPostRequest.groupIds_.Count)
			{
				return false;
			}
			for (int j = 0; j < this.groupIds_.Count; j++)
			{
				if (!this.groupIds_[j].Equals(snsPostRequest.groupIds_[j]))
				{
					return false;
				}
			}
			return this.hasObjectSource == snsPostRequest.hasObjectSource && (!this.hasObjectSource || this.objectSource_.Equals(snsPostRequest.objectSource_));
		}
		public override void PrintTo(TextWriter writer)
		{
			GeneratedMessageLite<SnsPostRequest, SnsPostRequest.Builder>.PrintField("BaseRequest", this.hasBaseRequest, this.baseRequest_, writer);
			GeneratedMessageLite<SnsPostRequest, SnsPostRequest.Builder>.PrintField("ObjectDesc", this.hasObjectDesc, this.objectDesc_, writer);
			GeneratedMessageLite<SnsPostRequest, SnsPostRequest.Builder>.PrintField("WithUserListNum", this.hasWithUserListNum, this.withUserListNum_, writer);
			GeneratedMessageLite<SnsPostRequest, SnsPostRequest.Builder>.PrintField<SKBuiltinString_t>("WithUserList", this.withUserList_, writer);
			GeneratedMessageLite<SnsPostRequest, SnsPostRequest.Builder>.PrintField("Privacy", this.hasPrivacy, this.privacy_, writer);
			GeneratedMessageLite<SnsPostRequest, SnsPostRequest.Builder>.PrintField("SyncFlag", this.hasSyncFlag, this.syncFlag_, writer);
			GeneratedMessageLite<SnsPostRequest, SnsPostRequest.Builder>.PrintField("ClientId", this.hasClientId, this.clientId_, writer);
			GeneratedMessageLite<SnsPostRequest, SnsPostRequest.Builder>.PrintField("PostBGImgType", this.hasPostBGImgType, this.postBGImgType_, writer);
			GeneratedMessageLite<SnsPostRequest, SnsPostRequest.Builder>.PrintField("GroupCount", this.hasGroupCount, this.groupCount_, writer);
			GeneratedMessageLite<SnsPostRequest, SnsPostRequest.Builder>.PrintField<SnsGroup>("GroupIds", this.groupIds_, writer);
			GeneratedMessageLite<SnsPostRequest, SnsPostRequest.Builder>.PrintField("ObjectSource", this.hasObjectSource, this.objectSource_, writer);
		}
		public static SnsPostRequest ParseFrom(byte[] data)
		{
			return SnsPostRequest.CreateBuilder().MergeFrom(data).BuildParsed();
		}
		private SnsPostRequest MakeReadOnly()
		{
			this.withUserList_.MakeReadOnly();
			this.groupIds_.MakeReadOnly();
			return this;
		}
		public static SnsPostRequest.Builder CreateBuilder()
		{
			return new SnsPostRequest.Builder();
		}
		public override SnsPostRequest.Builder ToBuilder()
		{
			return SnsPostRequest.CreateBuilder(this);
		}
		public override SnsPostRequest.Builder CreateBuilderForType()
		{
			return new SnsPostRequest.Builder();
		}
		public static SnsPostRequest.Builder CreateBuilder(SnsPostRequest prototype)
		{
			return new SnsPostRequest.Builder(prototype);
		}
		static SnsPostRequest()
		{
			SnsPostRequest.defaultInstance = new SnsPostRequest().MakeReadOnly();
			SnsPostRequest._snsPostRequestFieldNames = new string[]
			{
				"BaseRequest",
				"ClientId",
				"GroupCount",
				"GroupIds",
				"ObjectDesc",
				"ObjectSource",
				"PostBGImgType",
				"Privacy",
				"SyncFlag",
				"WithUserList",
				"WithUserListNum"
			};
			SnsPostRequest._snsPostRequestFieldTags = new uint[]
			{
				10u,
				58u,
				72u,
				82u,
				18u,
				88u,
				64u,
				40u,
				48u,
				34u,
				24u
			};
			object.ReferenceEquals(micromsg.Proto.SnsPostRequest.Descriptor, null);
		}
	}
}
